package com.leetcode.www;

/**
 * Creared with IntelliJ IDEA.
 * Description:给定两个大小分别为 m 和 n 的正序（从小到大）数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。
 * User:yxd
 * Date:2022-04-05
 * Time:22:41
 */
public class Array4 {
    public double findMedianSortedArrays(int[] nums1, int[] nums2) {
        int n = nums1.length;
        int m = nums2.length;
        int[] nums = new int[n + m];
        int i = 0;
        int j = 0;
        int k = 0;
        while(i < n && j < m){
            if(nums1[i] < nums2[j]){
                nums[k ++] = nums1[i ++];
            }else{
                nums[k ++] = nums2[j ++];
            }
        }
        if(i != n){
            while(i < n){
                nums[k ++] = nums1[i ++];
            }
        }
        if(j != m){
            while(j < m){
                nums[k ++] = nums2[j ++];
            }
        }
        //合并两数组,然后找中位数
        double count = 0;
        if((m + n) % 2 == 1){
            count = (double)nums[nums.length / 2];
        }else{
            count = (double)((nums[nums.length / 2] + nums[nums.length / 2 - 1]) / 2.0);
        }
        return count;
    }
}
